package knowall.shared;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

@SuppressWarnings("serial")
public class QuestionDTO implements Serializable {

	String id;
	List<String> questionParts = new ArrayList<String>();
	List<String> nodeIds = new ArrayList<String>();
	Set<String> contextIds = new HashSet<String>();
	List<String> referenceNames = new ArrayList<String>();
	List<String> referenceURLs = new ArrayList<String>();
	String correctAnswerIds;
	List<String> incorrectAnswerIds = new ArrayList<String>();
	Float yieldAvg;
	Float difficultyAvg;
	Float qualityAvg;
	
	public QuestionDTO() {
		
		
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public List<String> getQuestionParts() {
		return questionParts;
	}

	public void setQuestionParts(List<String> questionParts) {
		this.questionParts = questionParts;
	}

	public boolean addQuestionPart(String questionPart) {
		return this.questionParts.add(questionPart);
	}
	
	public List<String> getNodeIds() {
		return nodeIds;
	}

	public void setNodeIds(List<String> nodeIds) {
		this.nodeIds = nodeIds;
	}
	
	public boolean addNodeId(String nodeId) {
		return this.nodeIds.add(nodeId);
	}

	public List<String> getReferenceNames() {
		return referenceNames;
	}

	public void setReferenceNames(List<String> referenceNames) {
		this.referenceNames = referenceNames;
	}
	
	public boolean addReferenceName(String referenceName) {
		return this.referenceNames.add(referenceName);
	}

	public List<String> getReferenceURLs() {
		return referenceURLs;
	}

	public void setReferenceURLs(List<String> referenceURLs) {
		this.referenceURLs = referenceURLs;
	}
	
	public boolean addReferenceURL(String referenceURL) {
		return this.referenceURLs.add(referenceURL);
	}

	public List<String> getIncorrectAnswerIds() {
		return incorrectAnswerIds;
	}

	public void setIncorrectAnswerIds(List<String> incorrectAnswerIds) {
		this.incorrectAnswerIds = incorrectAnswerIds;
	}
	
	public boolean addIncorrectAnswerId(String incorrectAnswerId) {
		return this.incorrectAnswerIds.add(incorrectAnswerId);
	}
	
	
}
